package com.yqb.study.common.session;

import javax.servlet.http.HttpServletResponse;

import com.yqb.study.common.session.args.RedisSession;
import com.yqb.study.modular.persistence.model.User;

public interface IRedisSession {
	/**
	 * 取出本地sessionRedis对象
	 */
	RedisSession getSessionRedis();

	/**
	 * 从redis中查出session数据
	 */
	RedisSession getSessionRedis(String token);
	
	/**
	 * 从sessionRedis中获取需要的变量
	 */
	Object getFromSessionRedis(String name);
	
	/**
	 * 更新sessionRedis中的内容
	 */
	void putInSessionRedis(String name, Object value);
	
	/**
	 * 在redis和浏览器cookie均添加token标识,表示用户已经登录
	 */
	void addCookieSession(HttpServletResponse response, String token, User user);

	/**
	 * 清理在redis和浏览器cookie中的token标识,表示用户注销登录
	 */	
	void clearCookieSession(HttpServletResponse response, String token);
}
